//接口在开发者中会被大量使用
//接口就是抽象的
//接口可以用来描述对象 类 函数 ...
// type Sum = () =>string;//联合类型
//除了联合类型 推荐使用接口
interface ISum {//用于描述函数的接口 接口不能使用于联合类型 接口的强大之处 在于他的继承和实现
}

//描述对象的形状

let sum: ISum = (a: string, b: string) => {
    return a + b
}

//混合类型 函数可以当成函数 也可以当成引用类型 实现一个计数器每次调用+1

interface ICounter {
    count: number,//没有具体的实现 如果给具体的值会被认为他是一个字面量类型 没有具体实现的就教程抽象的
    (): number
}
const counter = () => {
    return ++counter.count
}
counter.count = 1;
counter();

export { }